package benchmarks;

import benchmarks.benchmarktests.BenchmarkTest;
import benchmarks.benchmarktests.DiningPhilosophersTest;

import problemfactories.DiningPhilosophersFactory;
import problems.diningphilosophers.philosopherssolution.AbstractDiningPhilosophersSolution;

public class DiningPhilosophersBenchmark extends AbstractBenchmark<AbstractDiningPhilosophersSolution>
{
	private int nbPhilosophers;
	
	public DiningPhilosophersBenchmark(int nbPhilosophers) {
		super(new DiningPhilosophersFactory(nbPhilosophers));
		this.nbPhilosophers = nbPhilosophers;
	}

	@Override
	protected BenchmarkTest<AbstractDiningPhilosophersSolution> createBenchmarkTest(AbstractDiningPhilosophersSolution solution) {
		return new DiningPhilosophersTest(solution, nbPhilosophers);
	}
}
